0 Prolog
↳1 PrologToPrologProblemTransformerProof (⇒, 85 ms)
↳2 Prolog
↳3 PrologToPiTRSProof (⇒, 0 ms)
↳4 PiTRS
↳5 DependencyPairsProof (⇔, 39 ms)
↳6 PiDP
↳7 DependencyGraphProof (⇔, 0 ms)
↳8 AND
↳9 PiDP
↳10 UsableRulesProof (⇔, 0 ms)
↳11 PiDP
↳12 PiDPToQDPProof (⇔, 0 ms)
↳13 QDP
↳14 QDPSizeChangeProof (⇔, 0 ms)
↳15 YES
↳16 PiDP
↳17 UsableRulesProof (⇔, 0 ms)
↳18 PiDP
↳19 PiDPToQDPProof (⇒, 0 ms)
↳20 QDP
↳21 QDPSizeChangeProof (⇔, 0 ms)
↳22 YES
subsetB_in_gg(.(T21, T7), .(T22, T23)) → U2_gg(T21, T7, T22, T23, memberA_in_gg(T21, T23))
memberA_in_gg(T42, .(T43, T44)) → U1_gg(T42, T43, T44, memberA_in_gg(T42, T44))
memberA_in_gg(T52, .(T52, T53)) → memberA_out_gg(T52, .(T52, T53))
U1_gg(T42, T43, T44, memberA_out_gg(T42, T44)) → memberA_out_gg(T42, .(T43, T44))
U2_gg(T21, T7, T22, T23, memberA_out_gg(T21, T23)) → subsetB_out_gg(.(T21, T7), .(T22, T23))
U2_gg(T21, T7, T22, T23, memberA_out_gg(T21, T23)) → U3_gg(T21, T7, T22, T23, subsetB_in_gg(T7, .(T22, T23)))
subsetB_in_gg(.(T66, T7), .(T66, T67)) → U4_gg(T66, T7, T67, subsetB_in_gg(T7, .(T66, T67)))
subsetB_in_gg([], T73) → subsetB_out_gg([], T73)
U4_gg(T66, T7, T67, subsetB_out_gg(T7, .(T66, T67))) → subsetB_out_gg(.(T66, T7), .(T66, T67))
U3_gg(T21, T7, T22, T23, subsetB_out_gg(T7, .(T22, T23))) → subsetB_out_gg(.(T21, T7), .(T22, T23))
Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog
subsetB_in_gg(.(T21, T7), .(T22, T23)) → U2_gg(T21, T7, T22, T23, memberA_in_gg(T21, T23))
memberA_in_gg(T42, .(T43, T44)) → U1_gg(T42, T43, T44, memberA_in_gg(T42, T44))
memberA_in_gg(T52, .(T52, T53)) → memberA_out_gg(T52, .(T52, T53))
U1_gg(T42, T43, T44, memberA_out_gg(T42, T44)) → memberA_out_gg(T42, .(T43, T44))
U2_gg(T21, T7, T22, T23, memberA_out_gg(T21, T23)) → subsetB_out_gg(.(T21, T7), .(T22, T23))
U2_gg(T21, T7, T22, T23, memberA_out_gg(T21, T23)) → U3_gg(T21, T7, T22, T23, subsetB_in_gg(T7, .(T22, T23)))
subsetB_in_gg(.(T66, T7), .(T66, T67)) → U4_gg(T66, T7, T67, subsetB_in_gg(T7, .(T66, T67)))
subsetB_in_gg([], T73) → subsetB_out_gg([], T73)
U4_gg(T66, T7, T67, subsetB_out_gg(T7, .(T66, T67))) → subsetB_out_gg(.(T66, T7), .(T66, T67))
U3_gg(T21, T7, T22, T23, subsetB_out_gg(T7, .(T22, T23))) → subsetB_out_gg(.(T21, T7), .(T22, T23))
SUBSETB_IN_GG(.(T21, T7), .(T22, T23)) → U2_GG(T21, T7, T22, T23, memberA_in_gg(T21, T23))
SUBSETB_IN_GG(.(T21, T7), .(T22, T23)) → MEMBERA_IN_GG(T21, T23)
MEMBERA_IN_GG(T42, .(T43, T44)) → U1_GG(T42, T43, T44, memberA_in_gg(T42, T44))
MEMBERA_IN_GG(T42, .(T43, T44)) → MEMBERA_IN_GG(T42, T44)
U2_GG(T21, T7, T22, T23, memberA_out_gg(T21, T23)) → U3_GG(T21, T7, T22, T23, subsetB_in_gg(T7, .(T22, T23)))
U2_GG(T21, T7, T22, T23, memberA_out_gg(T21, T23)) → SUBSETB_IN_GG(T7, .(T22, T23))
SUBSETB_IN_GG(.(T66, T7), .(T66, T67)) → U4_GG(T66, T7, T67, subsetB_in_gg(T7, .(T66, T67)))
SUBSETB_IN_GG(.(T66, T7), .(T66, T67)) → SUBSETB_IN_GG(T7, .(T66, T67))
subsetB_in_gg(.(T21, T7), .(T22, T23)) → U2_gg(T21, T7, T22, T23, memberA_in_gg(T21, T23))
memberA_in_gg(T42, .(T43, T44)) → U1_gg(T42, T43, T44, memberA_in_gg(T42, T44))
memberA_in_gg(T52, .(T52, T53)) → memberA_out_gg(T52, .(T52, T53))
U1_gg(T42, T43, T44, memberA_out_gg(T42, T44)) → memberA_out_gg(T42, .(T43, T44))
U2_gg(T21, T7, T22, T23, memberA_out_gg(T21, T23)) → subsetB_out_gg(.(T21, T7), .(T22, T23))
U2_gg(T21, T7, T22, T23, memberA_out_gg(T21, T23)) → U3_gg(T21, T7, T22, T23, subsetB_in_gg(T7, .(T22, T23)))
subsetB_in_gg(.(T66, T7), .(T66, T67)) → U4_gg(T66, T7, T67, subsetB_in_gg(T7, .(T66, T67)))
subsetB_in_gg([], T73) → subsetB_out_gg([], T73)
U4_gg(T66, T7, T67, subsetB_out_gg(T7, .(T66, T67))) → subsetB_out_gg(.(T66, T7), .(T66, T67))
U3_gg(T21, T7, T22, T23, subsetB_out_gg(T7, .(T22, T23))) → subsetB_out_gg(.(T21, T7), .(T22, T23))
SUBSETB_IN_GG(.(T21, T7), .(T22, T23)) → U2_GG(T21, T7, T22, T23, memberA_in_gg(T21, T23))
SUBSETB_IN_GG(.(T21, T7), .(T22, T23)) → MEMBERA_IN_GG(T21, T23)
MEMBERA_IN_GG(T42, .(T43, T44)) → U1_GG(T42, T43, T44, memberA_in_gg(T42, T44))
MEMBERA_IN_GG(T42, .(T43, T44)) → MEMBERA_IN_GG(T42, T44)
U2_GG(T21, T7, T22, T23, memberA_out_gg(T21, T23)) → U3_GG(T21, T7, T22, T23, subsetB_in_gg(T7, .(T22, T23)))
U2_GG(T21, T7, T22, T23, memberA_out_gg(T21, T23)) → SUBSETB_IN_GG(T7, .(T22, T23))
SUBSETB_IN_GG(.(T66, T7), .(T66, T67)) → U4_GG(T66, T7, T67, subsetB_in_gg(T7, .(T66, T67)))
SUBSETB_IN_GG(.(T66, T7), .(T66, T67)) → SUBSETB_IN_GG(T7, .(T66, T67))
subsetB_in_gg(.(T21, T7), .(T22, T23)) → U2_gg(T21, T7, T22, T23, memberA_in_gg(T21, T23))
memberA_in_gg(T42, .(T43, T44)) → U1_gg(T42, T43, T44, memberA_in_gg(T42, T44))
memberA_in_gg(T52, .(T52, T53)) → memberA_out_gg(T52, .(T52, T53))
U1_gg(T42, T43, T44, memberA_out_gg(T42, T44)) → memberA_out_gg(T42, .(T43, T44))
U2_gg(T21, T7, T22, T23, memberA_out_gg(T21, T23)) → subsetB_out_gg(.(T21, T7), .(T22, T23))
U2_gg(T21, T7, T22, T23, memberA_out_gg(T21, T23)) → U3_gg(T21, T7, T22, T23, subsetB_in_gg(T7, .(T22, T23)))
subsetB_in_gg(.(T66, T7), .(T66, T67)) → U4_gg(T66, T7, T67, subsetB_in_gg(T7, .(T66, T67)))
subsetB_in_gg([], T73) → subsetB_out_gg([], T73)
U4_gg(T66, T7, T67, subsetB_out_gg(T7, .(T66, T67))) → subsetB_out_gg(.(T66, T7), .(T66, T67))
U3_gg(T21, T7, T22, T23, subsetB_out_gg(T7, .(T22, T23))) → subsetB_out_gg(.(T21, T7), .(T22, T23))
MEMBERA_IN_GG(T42, .(T43, T44)) → MEMBERA_IN_GG(T42, T44)
subsetB_in_gg(.(T21, T7), .(T22, T23)) → U2_gg(T21, T7, T22, T23, memberA_in_gg(T21, T23))
memberA_in_gg(T42, .(T43, T44)) → U1_gg(T42, T43, T44, memberA_in_gg(T42, T44))
memberA_in_gg(T52, .(T52, T53)) → memberA_out_gg(T52, .(T52, T53))
U1_gg(T42, T43, T44, memberA_out_gg(T42, T44)) → memberA_out_gg(T42, .(T43, T44))
U2_gg(T21, T7, T22, T23, memberA_out_gg(T21, T23)) → subsetB_out_gg(.(T21, T7), .(T22, T23))
U2_gg(T21, T7, T22, T23, memberA_out_gg(T21, T23)) → U3_gg(T21, T7, T22, T23, subsetB_in_gg(T7, .(T22, T23)))
subsetB_in_gg(.(T66, T7), .(T66, T67)) → U4_gg(T66, T7, T67, subsetB_in_gg(T7, .(T66, T67)))
subsetB_in_gg([], T73) → subsetB_out_gg([], T73)
U4_gg(T66, T7, T67, subsetB_out_gg(T7, .(T66, T67))) → subsetB_out_gg(.(T66, T7), .(T66, T67))
U3_gg(T21, T7, T22, T23, subsetB_out_gg(T7, .(T22, T23))) → subsetB_out_gg(.(T21, T7), .(T22, T23))
MEMBERA_IN_GG(T42, .(T43, T44)) → MEMBERA_IN_GG(T42, T44)
MEMBERA_IN_GG(T42, .(T43, T44)) → MEMBERA_IN_GG(T42, T44)
From the DPs we obtained the following set of size-change graphs:
U2_GG(T21, T7, T22, T23, memberA_out_gg(T21, T23)) → SUBSETB_IN_GG(T7, .(T22, T23))
SUBSETB_IN_GG(.(T21, T7), .(T22, T23)) → U2_GG(T21, T7, T22, T23, memberA_in_gg(T21, T23))
SUBSETB_IN_GG(.(T66, T7), .(T66, T67)) → SUBSETB_IN_GG(T7, .(T66, T67))
subsetB_in_gg(.(T21, T7), .(T22, T23)) → U2_gg(T21, T7, T22, T23, memberA_in_gg(T21, T23))
memberA_in_gg(T42, .(T43, T44)) → U1_gg(T42, T43, T44, memberA_in_gg(T42, T44))
memberA_in_gg(T52, .(T52, T53)) → memberA_out_gg(T52, .(T52, T53))
U1_gg(T42, T43, T44, memberA_out_gg(T42, T44)) → memberA_out_gg(T42, .(T43, T44))
U2_gg(T21, T7, T22, T23, memberA_out_gg(T21, T23)) → subsetB_out_gg(.(T21, T7), .(T22, T23))
U2_gg(T21, T7, T22, T23, memberA_out_gg(T21, T23)) → U3_gg(T21, T7, T22, T23, subsetB_in_gg(T7, .(T22, T23)))
subsetB_in_gg(.(T66, T7), .(T66, T67)) → U4_gg(T66, T7, T67, subsetB_in_gg(T7, .(T66, T67)))
subsetB_in_gg([], T73) → subsetB_out_gg([], T73)
U4_gg(T66, T7, T67, subsetB_out_gg(T7, .(T66, T67))) → subsetB_out_gg(.(T66, T7), .(T66, T67))
U3_gg(T21, T7, T22, T23, subsetB_out_gg(T7, .(T22, T23))) → subsetB_out_gg(.(T21, T7), .(T22, T23))
U2_GG(T21, T7, T22, T23, memberA_out_gg(T21, T23)) → SUBSETB_IN_GG(T7, .(T22, T23))
SUBSETB_IN_GG(.(T21, T7), .(T22, T23)) → U2_GG(T21, T7, T22, T23, memberA_in_gg(T21, T23))
SUBSETB_IN_GG(.(T66, T7), .(T66, T67)) → SUBSETB_IN_GG(T7, .(T66, T67))
memberA_in_gg(T42, .(T43, T44)) → U1_gg(T42, T43, T44, memberA_in_gg(T42, T44))
memberA_in_gg(T52, .(T52, T53)) → memberA_out_gg(T52, .(T52, T53))
U1_gg(T42, T43, T44, memberA_out_gg(T42, T44)) → memberA_out_gg(T42, .(T43, T44))
U2_GG(T7, T22, T23, memberA_out_gg) → SUBSETB_IN_GG(T7, .(T22, T23))
SUBSETB_IN_GG(.(T21, T7), .(T22, T23)) → U2_GG(T7, T22, T23, memberA_in_gg(T21, T23))
SUBSETB_IN_GG(.(T66, T7), .(T66, T67)) → SUBSETB_IN_GG(T7, .(T66, T67))
memberA_in_gg(T42, .(T43, T44)) → U1_gg(memberA_in_gg(T42, T44))
memberA_in_gg(T52, .(T52, T53)) → memberA_out_gg
U1_gg(memberA_out_gg) → memberA_out_gg
memberA_in_gg(x0, x1)
U1_gg(x0)
From the DPs we obtained the following set of size-change graphs: